有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JFreechart实时组合图,在未收到数据点的情况下呈现step子图表的上一个值

我在JFreechart中有一个组合图,由4个带有公共时域轴的时间序列图组成

子批次的数据以不同的速率到达。例如,我可能每几毫秒收到一次价格变化事件,每分钟收到一次位置变化事件。我目前正在使用XYStepRenderer渲染这些系列,以生成步骤图

我希望能够做到这样:

  • 在时间T处收到一个价格点,并绘制在图表上
  • 在时间T没有收到位置图的数据,因此我们假设该值没有改变,并且呈现了先前的位置值-即水平延伸阶梯线
  • 在时间T+1时,接收到一个位置点,并通过改变步进图绘制该位置点
  • 在T+1时,未收到任何价格点,因此绘制了先前的价格

在JFreechart中有什么简单的方法可以做到这一点吗?目前,我有一个工作实现,但这不处理呈现假定值的问题

我最初的想法是更改数据模型,以便快速找到以前的值,并更改调用,以便在收到任何绘图的事件时通知每个子绘图


共 (1) 个答案

  1. # 1 楼答案

    我认为您需要缓冲传入的更改,并应用一个规则集将更改转发到JFreeChart上(顺便说一句,这对于实时工作并不推荐,但我发现对于低频更新,它工作得很好)

    我猜你有一个价格数据集和一个仓位数据集。你的位置和价格更新有时间戳吗?如果不是这样,你就会遇到按顺序接收这些数据并试图将它们绑定起来的问题(可能是在某个时间窗口内到达的更新映射到同一时间点?)。如果他们确实有时间戳,那么当价格进来时,你可以导出一个新的位置(与旧位置相同),然后在需要时替换它

    无论发生什么情况,我都会将图表更新与头寸/价格更新分离,以防你被头寸/价格变化淹没。你不想让它转化为多个图表更新,你必须立即扔掉它们